#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project ：python_learning 
@File ：顺序执行程序转换异步执行.py
@IDE  ：PyCharm 
@Author ：李涵彬
@Date ：2025/7/18 上午7:56 
"""

import asyncio


# 原始的同步函数
def sync_function1():
	print("执行函数1")
	# 模拟一些工作
	import time
	time.sleep(2)
	print("函数1完成")
	return "结果1"


def sync_function2():
	print("执行函数2")
	# 模拟一些工作
	import time
	time.sleep(3)
	print("函数2完成")
	return "结果2"


# 改为异步函数
async def async_function1():
	print("执行函数1")
	# 使用 await asyncio.sleep() 代替 time.sleep()
	await asyncio.sleep(2)
	print("函数1完成")
	return "结果1"


async def async_function2():
	print("执行函数2")
	await asyncio.sleep(3)
	print("函数2完成")
	return "结果2"


# 异步执行两个函数
async def main():
	print("开始异步执行...")

	# 使用 gather 同时执行两个函数
	results = await asyncio.gather(
		async_function1(),
		async_function2()
	)

	print(f"所有函数执行完成，结果：{results}")
	print("继续执行后续代码...")


# 运行异步程序
if __name__ == "__main__":
	asyncio.run(main())
